package com.ruoyi.business.service;

import com.alibaba.fastjson.JSONObject;
import com.ruoyi.bizsys.domain.CreditApply;
import com.ruoyi.bizsys.domain.ExtIdentityResult;
import com.ruoyi.bizsys.domain.LoanOrder;
import com.ruoyi.business.domain.BVNInfo;
import com.ruoyi.business.domain.CreditApplyReq;
import com.ruoyi.business.domain.RaiseLimitTaskVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author: Jamnsin
 * @Date: 2021/3/1 10:39 上午
 */
public interface ICreditService {

    Object preAuth(BVNInfo bvnInfo,JSONObject deviceInfo);

    void processCreditApply(CreditApplyReq creditApplyReq);

    void processCreditApplyV228(CreditApplyReq creditApplyReq);

    /**
     * 校验手机号
     * @param creditApplyReq
     */
    void contactCheck(CreditApplyReq creditApplyReq);

    ExtIdentityResult dealIdentityVerifyResult(String userId, JSONObject apiRes, BVNInfo bvnInfo,String apiName);

    boolean realNameRiskCheck(String bvnInfo);

    void rulePass(String applySerialNo);

    /**
     * 历史授信额度 初始化额度变更日志
     * @return
     */
    boolean creditLineHistoryInit();

    /**
     * 半小时内状态9
     * @param userId
     * @return
     */
    List<CreditApply> getTempCredotApplyList(String userId);

    /**
     * 半小时内状态9
     * @param custNo
     * @return
     */
    List<LoanOrder> getTempLoanOrderList(String custNo);

    /**
     * 授信成功未提交提现
     * 当前事件-授信时间=3
     * @return
     */
    List<RaiseLimitTaskVo> getCreditWithoutLoanList();


    String againTrigger(CreditApply creditApply);

}
